package com.itheima.dao;

import com.itheima.pojo.OrderSetting;
import org.apache.ibatis.annotations.Param;
import org.springframework.security.core.parameters.P;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface OrderSettingDao {

    /**
     * 解析预约的信息
     *
     * @param orderSetting 预约的信息
     * @return
     */
    void add(OrderSetting orderSetting);

    /**
     * 通过日期查找在数据库中是否存在这个日期
     *
     * @param orderDate 查询的日期
     * @return 所查出来的日期数量
     */
    Long findCountByOrderDate(String orderDate);

    /**
     * 通过日期修改里面的预约数量
     *
     * @param
     */
    void editNumberByOrderDate(@Param("number") Integer number, @Param("date") String date);

    /**
     * 通过每月第一天和最后一天查询本月的所有数据
     *
     * @param map 第一天和最后一天
     * @return 所有的预约设置
     */
    List<OrderSetting> getOrderSettingByMonth(Map<String, String> map);


    /**
     * 查询数据库这个日期是否存在
     * @param date 查询的日期
     * @return
     */
    OrderSetting findByOderData(Date date);

    /**
     * 根据预约信息更新已预约人数
     * @param orderSetting 当天预约的详细信息
     */
    void editReservationsByOrderDate(OrderSetting orderSetting);
}
